home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Games Collection 1 / software vault.zip / software vault / CDR10 / YICN23.ZIP / BEET / PLATFORM.H < prev    next >
C/C++ Source or Header  |  1993-02-20  |  2KB  |  57 lines

  1. #ifndef PLATFORM_H
  2. #define PLATFORM_H
  3.  
  4. #include "factor.h"
  5.  
  6. #define FLOORHEIGHT 40
  7.  
  8. #define FLOOR 0x01 //floor bit.
  9.  
  10. class platformBeast : public factor
  11. {
  12. public:
  13.   int xMomentum, yMomentum, gravity, moveIncrement, jumpIncrement;
  14.   int hitPoints, alignment, damage;
  15.   platformBeast() {xMomentum = alignment = damage = yMomentum = hitPoints= moveIncrement = jumpIncrement = 0;
  16.                    gravity = 2;};
  17.   virtual void advance(void);
  18.   void die(void);
  19.   enum command {goLeft, goRight, jump};
  20.   int targetTerrain() {return mymap->mapData[(mapX*mymap->squareWidth + squareX + xMomentum) / (mymap->squareWidth)]
  21.                                              [(mapY*mymap->squareWidth + squareY + yMomentum) / (mymap->squareWidth)].myTerrainType;};
  22.   void go(command myCommand);
  23. };
  24.  
  25. class player;
  26.  
  27. class missile : public platformBeast
  28. {
  29. public:
  30.   int range;
  31.   int missileNumber;
  32.   int damage;
  33.   player * owningPlayer;
  34.   missile(void) {gravity = 0; range = missileNumber = damage = 0; owningPlayer = NULL;}
  35.   virtual void advance(void);
  36. };
  37.  
  38. class player : public platformBeast
  39. {
  40. public:
  41.   missile * myMissiles[5];
  42.   int numMissiles; //number of missiles he can fire
  43.   int missileType;
  44.   player(void) : platformBeast() {myMissiles[0] = myMissiles[1] = myMissiles[2] = myMissiles[3]=
  45.                                   myMissiles[4] = NULL;};
  46.   void fireMissile(void);
  47.   virtual missile * missileGenerator(int missileType) {return NULL;};
  48.   int hitWithMissile(platformBeast * target);
  49. };
  50.  
  51. class crawler : public platformBeast
  52. {
  53. public:
  54.   virtual void advance(void);
  55. };
  56.  
  57. #endif